package com.vinci.task.entity;

import com.baomidou.mybatisplus.annotation.IdType;

import java.sql.Timestamp;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * <p>
 * 任务表
 * </p>
 *
 * @author 张先生
 * @since 2021-12-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TbTaskInfo对象", description="任务表")
@ToString
public class TbTaskInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "任务id")
    @TableId(value = "task_id", type = IdType.ID_WORKER)
    private String taskId;

    @ApiModelProperty(value = "任务类型 1:指定；2：认领；3：自荐")
    private Integer taskType;

    @ApiModelProperty(value = "任务完成人")
    private String completedBy;

    @ApiModelProperty(value = "任务简述")
    private String taskDescribe;

    @ApiModelProperty(value = "图片")
    private String picture;

    @ApiModelProperty(value = "奖励积分")
    private Integer integral;

    @ApiModelProperty(value = "奖励金币")
    private Integer goldCoins;

    @ApiModelProperty(value = "任务状态 1：待认领；2：比拼中；3：进行中；4：待审查；5：已完结")
    private Integer status;

    @ApiModelProperty(value = "任务类别 1：通用任务；2：公司日常；3：APP任务；4：新员工任务；5：福利任务")
    private Integer category;

    @ApiModelProperty(value = "截至时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Timestamp deadline;

    @ApiModelProperty(value = "发放金币账户类型 1：公司；2：部门；3：个人")
    private Integer accountType;

    @ApiModelProperty(value = "删除标识 0：未删除；1：删除")
    private Integer delflag;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)//自动填充
    private Timestamp  updateTime;


    @ApiModelProperty(value = "回复内容")
    private String replyDescribe;

    @ApiModelProperty(value = "回复图片")
    private String replyPicture;

    @ApiModelProperty(value = "回复人")
    private String replyCreateBy;

    @ApiModelProperty(value = "回复时间")
    private String replyCreateTime;

    @ApiModelProperty(value = "奖励用户")
    private String userId;

    @ApiModelProperty(value = "奖励积分")
    private String recordIntegral;

    @ApiModelProperty(value = "奖励金币")
    private String recordGoldCoins;

    @ApiModelProperty(value = "发放奖励人")
    private String recordCreateBy;

    @ApiModelProperty(value = "发放奖励时间")
    private String recordCreateTime;

    @ApiModelProperty(value = "查询对应任务自荐人员")
    private List<TbTaskSelfRecommendationRegistration> TbTaskSelfRecommendationRegistration;
    private List<?> list;
}